//201.数字范围按位与
//https://leetcode.cn/problems/bitwise-and-of-numbers-range
class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        int cnt = 0;
        //left 和 right 不相同的位必然为0
        //无论范围中的其他数有没有都是如此
        //此时我们只需要求出left和right上都有的位即可 其他的位变为0即可
        while(left != right)
        {
            left >>= 1;
            right >>= 1;
            ++cnt;
        }
        return left<<cnt; //求出left和right相同的位 然后左移讲前面不同的位全部置为1
    }
};

